package com.system.manager.modules.projectLibrary.service;

import com.system.manager.common.annotation.CurrSubject;
import com.system.manager.common.entity.Result;
import com.system.manager.modules.authorized.entity.Subject;
import com.system.manager.modules.projectLibrary.dto.UsernamePassword;
import com.system.manager.modules.projectLibrary.entity.ProjectLeader;
import com.baomidou.mybatisplus.extension.service.IService;
import com.system.manager.modules.projectLibrary.vo.ProjectLeaderVo;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author jisf
 * @since 2021-11-03
 */
public interface IProjectLeaderService extends IService<ProjectLeader> {

    /**
     * TODO 项目负责人注册个人信息
     *
     * @param projectLeaderVo
     * @return
     */
    UsernamePassword projectLeaderRegister(ProjectLeaderVo projectLeaderVo);

    /**
     * TODO 修改用户信息
     *
     * @param projectLeader
     * @param subject
     */
    void updateProjectLeader(ProjectLeader projectLeader, Subject subject);

    /**
     * TODO 激活项目负责人
     *
     * @param id
     */
    void activateProjectLeader(Integer id);

    /**
     * TODO 取消激活项目负责人
     *
     * @param id
     */
    void deactivateProjectLeader(Integer id);

    /**
     * TODO 项目负责人取消分配
     *
     * @param id
     */
    String assignProject(Integer id);

    /**
     * TODO 查询项目负责人
     *
     * @param subject
     * @param activate
     * @return
     */
    Result selectProjectLeader(Subject subject, Integer page, Integer size, Integer activate, String name, Integer project, Integer whetherFree);

}
